lib.use(['element', 'table', 'form','tablePlug','tree'], function () {
    var table = layui.table;
    var layer = layui.layer;
    var form = layui.form;
    var tablePlug = layui.tablePlug;
    var tree = layui.tree;
    var searchFrm = layui.Form('searchFrm');
    var goodsTable;
    var classId=0;

    //初始表格基础参数
    table.set(common.layui.table.config(tablePlug));

    searchFrm.selectRender();

    // 渲染表格
    goodsTable = table.render({
            elem: '#goodsTable'
            , url: common.util.createUrl('/base/goods/list')
            , cols: [[
                {type:'checkbox'}
               ,{type: 'numbers', title: '编号' }
                ,{ field: 'entId',  hide: true}
                ,{ field: 'id',  hide: true}
                ,{ title: '商品货号', field: 'goodsCode' }
                ,{ title: '商品名称', field: 'goodsName' }
                ,{ title: '商品型号', field: 'goodsModel' }
                ,{ title: '商品规格', field: 'goodsSpec' }
                ,{ title: '商品类型', field: 'goodsType' ,templet: function (row) { return common.dist.getValue("base.Goods_GoodsTypeEnum",row.goodsType);}}
                ,{ field: 'baseUomId',  hide: true}
                ,{ title: '基本单位', field: 'baseUomName' }
                ,{ field: 'qtyUomId',  hide: true}
                ,{ title: '库存单位', field: 'qtyUomName' }
                ,{ field: 'auxUomId',  hide: true}
                ,{ title: '辅助单位', field: 'auxUomName' }
                ,{ title: '库存换算', field: 'converUnit1' }
                ,{ title: '辅助换算', field: 'converUnit2' }
                //,{ title: 'id路径 /0/', field: 'classPathId' }
                //,{ title: '名称路径 /上级名称/', field: 'classPathName' }
                ,{ field: 'classId',  hide: true}
                ,{ title: '商品分类', field: 'className' }
                //,{ title: '体积', field: 'volume' }
                //,{ title: '净重', field: 'weight' }
                ,{ title: '整箱数量', field: 'boxNum' }
               // ,{ title: '网络挂牌价', field: 'listPrice' }
                ,{ title: '商品库位', field: 'location' }
                ,{ title: '是否有效', field: 'isValid' ,templet: function (row) {return common.dist.getValue("comm.ValidEnum",row.isValid);}}
                ,{  field: 'remark',  hide: true}
               // ,{ title: '创建人Id', field: 'createUserId',  hide: true}
               // ,{ title: '创建人', field: 'createUserName',  hide: true}
                ,{ field: 'createTime',  hide: true}
               // ,{ title: '修改人ID', field: 'updateUserId',  hide: true}
               // ,{ title: '修改人', field: 'updateUserName' }
               // ,{ title: '修改时间', field: 'updateTime' }
            ]]
    });


    common.ajax.post('/base/class/tree', {}, function (resp) {
        //开启节点操作图标
        tree.render({
            elem: '#classTree'
            ,data: resp.data
            ,onlyIconControl:true
            ,click: function(obj){
                var data = obj.data;  //获取当前点击的节点数据
                classId=data.id;
                searchTable({classId:classId});
            }
        });
    });

    /**
     * 监听行单击事件，进入编辑事件
     */
    table.on('rowDouble(goodsTableFilter)', function(obj){
        update(obj)
    });
    /**
     * 监听删除按钮事件
     */
    $(document).on('click','#del',function(){
        del(table.checkStatus('goodsTable'))
    });

    /**
     * 监听编辑按钮事件
     */
    $(document).on('click','#update',function(){
        update(table.checkStatus('goodsTable'))
    });
    /**
     * 监听新增按钮事件
     */
    $(document).on('click','#add',function(){
        var config = {
            title:"新增商品资料",
            content: 'base/goods/goodsForm.html?classId='+classId //iframe的url，no代表不显示滚动条
        }
        common.util.openWindow(busCommon.windowConfig(config))
    });
    /**
     * 监听搜索条件提交事件
     */
    form.on('submit(searchFilter)', function(data){
        var param = data.field;
        searchTable(param)
        return false;
    });

    /**
     * 查询表格
     * @param params
     */
    function searchTable(params) {
        params=$.extend(params,common.from.serializeObject('#searchFrm'))
        goodsTable.reload({where: params})
    }

    /**
     * 修改
     * @param obj
     */
    function update(obj) {
        var postData = [];
        if(obj.data.constructor === Array){
            postData=obj.data.map(function (item) {
                return item['id'];
            });
        }else{
            postData=[obj.data.id]
        }
        if(postData.length!=1){common.util.error('请选择一条记录');return;}
        var config = {
            title:"新增商品资料",
            content: 'base/goods/goodsForm.html?id=' + postData[0], //iframe的url，no代表不显示滚动条
        }
        common.util.openWindow(busCommon.windowConfig(config))
    }
    /**
     * 删除
     * @param obj
     */
    function del(obj) {
        var postData = [];
        if(obj.data.constructor === Array){
            postData=obj.data.map(function (item) {
                return item['id'];
            });
        }else{
            postData=[obj.data.id]
        }

        if(postData.length!=1){common.util.error('请选择一条记录');return;}
        layer.confirm('确认删除!', function(index){
                common.ajax.get('/base/goods/delete/'+postData[0], {}, function (resp) {
                    searchTable();
                    layer.close(index);
                })

         });
    }
    window.formCallBack=function (params) {
        searchTable(params);
    };
});
